import pandas as pd

data = {
    "姓名": ["张三", "李四", "张三", "王五", "李四", "赵六"],
    "年龄": [25, 30, 25, 28, 30, 27],
    "城市": ["北京", "上海", "北京", "广州", "上海", "深圳"],
    "入职日期": [
        "2020-01-15",
        "2019-05-20",
        "2020-01-15",
        "2021-03-10",
        "2019-05-20",
        "2022-07-01",
    ],
}

df = pd.DataFrame(data)
print("原始数据:")
print(df)
# 检查完全重复的行
duplicates = df.duplicated()
print("\n重复行标记:")
print(duplicates)
# 统计完全重复的行数
print(f"\n完全重复的行数: {df.duplicated().sum()}")
# 查看所有重复行(包括第一次出现的行)
all_duplicates = df[df.duplicated(keep=False)]
print("\n所有重复行(包括第一次出现的行):")
print(all_duplicates.sort_values(by="姓名"))
# 删除完全重复的行，保留第一次出现的行
df_no_duplicates = df.drop_duplicates()
print("\n删除完全重复行后的数据:")
print(df_no_duplicates)
# 删除"姓名"列重复的行，保留第一次出现的行
df_name_unique = df.drop_duplicates(subset=["姓名"])
print("\n删除姓名重复行后的数据:")
print(df_name_unique)

# 删除"姓名"和"年龄"组合重复的行，保留最后一次出现的行
df_combo_unique = df.drop_duplicates(subset=["姓名", "年龄"], keep="last")
print("\n删除姓名和年龄组合重复行后的数据(保留最后一次出现):")
print(df_combo_unique)
